Providing actionable content to a computing device based on user actions

ABSTRACT

Methods and apparatus related to identifying content accessed on a computing device that is likely actionable on another computing device. Some implementations are directed to methods and apparatus for identifying a computing device of a user, identifying content accessed on another computing device by the user, determining content that is actionable on the computing device, determining a confidence level that the actionable content is of interest to the user, and providing the actionable content for use on the computing device if the confidence level satisfies a threshold. The confidence level may be based on an indication of time passage between the user accessing the content on the other computing device and the identified use of the computing device.

BACKGROUND

This specification is directed generally to identifying content accessedby a user on a computing device that is actionable on another computingdevice and/or providing one or more aspects of the user accessed contentfor use by the other computing device.

A user sometimes may utilize a second computing device to act uponcontent accessed on a separate first computing device. For example, auser may access a phone number on a webpage of a desktop computingdevice and subsequently use a mobile phone computing device to call thephone number.

SUMMARY

The present disclosure is directed to methods and apparatus foridentifying user accessed content that is actionable on a computingdevice and/or providing the actionable content for use by the computingdevice. In some implementations, whether the actionable content isprovided for use by the computing device may be based on the likelihoodthat the actionable content will be used in one or more applications onthe computing device. For example, some implementations are directed tomethods and apparatus for identifying actionable content accessed by theuser on a computing device, identifying the user accessing a separatesecond computing device, and providing the actionable content to thesecond computing device based on the time passage between accessing theactionable content on the computing device and the user accessing thesecond computing device. Actionable content may include, for example,phone numbers, addresses, events, tasks, and/or dates identified basedon a webpage or other document that is accessed by a user on a computingdevice.

In some implementations a computer implemented method may be providedthat includes the steps of: identifying a computing device of a user,the computing device configured to execute one or more applications;identifying content accessed on at least one other computing device by auser, the other computing device being separate from the computingdevice; determining actionable content based on the content accessed onthe other computing device by the user, wherein the actionable contentis useable by one or more applications on the computing device;identifying a use of the computing device by the user; determining aconfidence level of interest in the actionable content, the confidencelevel based on an indication of time passage between the user accessingthe content on the other computing device and the identified use of thecomputing device by the user; and providing the actionable content tothe computing device if the confidence level of interest in theactionable content satisfies a threshold.

This method and other implementations of technology disclosed herein mayeach optionally include one or more of the following features.

The identified use may be indicative of executing a given application ofthe one or more applications. The method may further include determiningat least one potential use for the actionable content. The method mayfurther include comparing the identified use and the potential use,wherein the confidence level is based on the comparison. The actionablecontent may be provided to the user only when the at least one potentialuse includes the identified use. The method may further include thesteps of: identifying at least one potential use for the actionablecontent; identifying a likely type of use of the computing device; andcomparing the likely type of use to the potential use; wherein theconfidence level is based on the comparison.

The method may further include determining whether the actionablecontent is actively displayed on the other computing device, wherein theconfidence level is based on whether the actionable content is activelydisplayed on the computing device. The confidence level may satisfy thethreshold when the actionable content is actively displayed on thecomputing device.

The method may further include determining at least one potential usefor the actionable content based on one or more actions taken by theuser to arrive at the identified content. The one or more actions mayinclude utilizing a given search term in accessing the identifiedcontent. The one or more actions may include utilizing a givennavigation link in accessing the identified content.

The method may further include determining the confidence level based onone or more actions taken by the user to arrive at the identifiedcontent. The one or more actions may include utilizing a given searchterm in accessing the identified content. The one or more actions mayinclude utilizing a given navigation link in accessing the identifiedcontent.

The method may further include identifying a likely use type of thecomputing device and comparing the likely use type to the actionablecontent, wherein the confidence level is based on the comparison.

The method may further include identifying a likelihood of utilizing theactionable content on the other computing device, wherein the confidencelevel is based on the likelihood of utilizing the actionable content onthe other computing device.

Other implementations may include a non-transitory computer readablestorage medium storing instructions executable by a processor to performa method such as one or more of the methods described herein. Yetanother implementation may include a system including memory and one ormore processors operable to execute instructions, stored in the memory,to perform a method such as one or more of the methods described herein.

Particular implementations of the subject matter described hereinidentify content accessed on a computing device by a user that isactionable on a separate second computing device, determine a confidencelevel that the user has interest in the actionable content on the secondcomputing device, and provide the actionable content to the secondcomputing device when the confidence level satisfies a threshold. Thecontent may be utilized by one or more engines to identify theactionable content and to determine the confidence level that the userhas interest in the actionable content. Particular implementations ofthe subject matter herein may determine the confidence level based on anindication of time passage between the user accessing the content on thecomputing device and an identified use of the second computing device.Particular implementations of the subject matter described herein mayadditionally and/or alternatively identify the application executed onthe second computing device and may determine the confidence level basedon a potential use of the actionable content and the identifiedapplication. Particular implementations of the subject matter describedherein may additionally and/or alternatively identify a computing deviceproperty of the second computing device and may determine the confidencelevel based on the identified computing device property. Particularimplementations of the subject matter described herein may additionallyand/or alternatively provide the actionable content to the secondcomputing device only when the second computing device is accessed whilethe actionable content is actively displayed on the computing device.

It should be appreciated that all combinations of the foregoing conceptsand additional concepts discussed in greater detail herein arecontemplated as being part of the inventive subject matter disclosedherein. For example, all combinations of claimed subject matterappearing at the end of this disclosure are contemplated as being partof the inventive subject matter disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example environment in which actionablecontent accessed via one or more computing devices may be identifiedand/or provided to one or more separate computing devices.

FIG. 2 is a flow chart illustrating an example method of providingactionable content to a computing device to a computing device based onthe user accessing the computing device.

FIG. 3 is a flow chart illustrating an example method of retrievingcontent that has been identified as actionable content.

FIG. 4 illustrates an example graphical user interface for a computingdevice displaying actionable content on a webpage.

FIGS. 5A and 5B illustrate example graphical user interfaces for acomputing device to display after receiving actionable content.

FIG. 6 illustrates a block diagram of an example computing device.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of an example environment in whichactionable content on one or more computing devices may be identifiedand/or provided to one or more separate computing devices. Thecommunication network 101 facilitates communication between the variouscomponents in the environment. In some implementations, thecommunication network 101 may include the Internet, one or moreintranets, and/or one or more bus subsystems. The communication network101 may optionally utilize one or more standard communicationstechnologies, protocols, and/or inter-process communication techniques.The example environment also includes a computing device 105 with abrowser 110; an actionable content recognition engine 115; a contentsubmission engine 120; a communication server 125; and a secondcomputing device 130. Computing device 105 may be utilized by a user toaccess one or more documents that may contain content that may be usefulto a user on a second computing device, such as the second computingdevice 130. For the purposes of this specification, a document is anydata that is associated with a document address. Documents includewebpages, word processing documents, portable document format (PDF)documents, images, video, audio, e-mails, calendar entries, taskentries, and feed sources, to name just a few. The documents may includecontent such as, for example: words, phrases, pictures, audio, taskidentifiers, entity identifiers, etc.; embedded information (such asmeta information and/or hyperlinks); and/or embedded instructions (suchas JavaScript scripts).

In some implementations, a browser 110 may be utilized by the user toaccess one or more documents that may contain content that is actionableon a second computing device 130. For example, the user may access awebpage that displays an address, a telephone number, a date, an emailaddress, and/or a contact name. Also, for example, a user may access auser-edited document that contains one or more categories of actionablecontent within the document. Also, for example, a user may access acalendar entry of the user that identifies an upcoming meeting, a taskto be completed, and/or an approaching appointment. Computing device 105may share one or more characteristics with the computing deviceillustrated in FIG. 6 and described herein.

The user may have interest in utilizing part of information accessed onthe computing device 105 at a later time on the second computing device130. For example, in some implementations the second computing device130 may be a mobile phone and a user may have interest in using thesecond computing device 130 to dial a phone number that was displayed ona webpage on the computing device 105. Also, for example, a user mayutilize the second computing device 130 to access one or moreapplications, such as an email application, a calendar, a contacts list,and/or a web-based email server, which may be able to utilize contentpreviously accessed and/or viewed by the user via the computing device105. One or more aspects of content of a document may optionally beparsed to determine whether the document contains actionable contentand/or what type of actionable content is available in the document. Insome implementations, the entire content of a document may betransmitted to the second computing device 130 for potential use.

Generally speaking, in some implementations, the actionable contentrecognition engine 115 may identify potentially actionable content basedon one or more webpages and/or other documents that have been accessedby a user utilizing the computing device 105. Actionable contentrecognition engine 115 may provide the content submission engine 120with the potentially actionable content. Content submission engine 120may determine a confidence level indicative of the likelihood that theuser has interest in accessing the actionable content on the secondcomputing device 130. If the confidence level that is determined by thecontent submission engine 120 satisfies a threshold confidence level,content submission engine 120 may provide communication server 125 withthe actionable content. The communication server 125 may provide thesecond computing device 130 with the actionable content when the secondcomputing device 130 requests to receive actionable content and/or isavailable to receive actionable content. In some implementations, thecontent submission engine 120 may submit the actionable content directlyto the second computing device 130. In some implementations, the secondcomputing device 130 may receive actionable content from the contentsubmission engine 120 and/or the communication server 125 may provideactionable content to the second computing device 130 without receivinga request from second computing device 130. As discussed herein, in someimplementations actionable content may additionally and/or alternativelybe identified at second computing device 130 and provided to computingdevice 105.

In some implementations, the user may authorize and/or limit one or moreaspects of the functionality of the system described herein. Forexample, permission may be requested from the user before providing thesecond computing device 130 with actionable content. In someimplementations permission of the user may be requested before one ormore documents are analyzed for actionable content by the actionablecontent recognition engine 115, before content submission engine 120determines whether potentially actionable content is desired by theuser, before content submission engine 120 transmits actionable contentto a computing device and/or communication server 125, before thecomputing device polls and/or receives actionable content from contentsubmission engine 120 and/or communication server 125, before thecomputing device provides details of user interactions with thecomputing device, and/or before the computing device establishescommunication with content submission engine 120 and/or communicationserver 125. In some implementations, user authorization may be requestedutilizing browser 110, an application executing on computing device 105,and/or an application executing on second computing device 130.

In some implementations, a user may customize what actionable contentshould be identified, which applications may utilize actionable content,which computing devices should identify actionable content, and/or whichcomputing devices should have access to the actionable content for use.For example, a user may specify that phone numbers should not be sent tothe second computing device 130 as actionable content. Also, forexample, the user may specify that only phone numbers should be sent asactionable content. Also, for example, the user may specify that certaindomains should not be analyzed for actionable content and/or that onlycertain domains should be analyzed for potentially actionable content.Also, for example, the user may specify that only certain categories ofcalendar entries and/or task entries should be analyzed for actionablecontent. Also, for example, the user may specify which application toassociate with specific categories of actionable content. For example,the user may specify that all phone numbers should be sent to a phonedialing application and/or the user may specify that no phone numbersshould be sent to a phone dialing application. Also, for example, theuser may specify that addresses should be sent to a navigationapplication, but not sent to a contacts application. Also, for example,the user may specify that identified tasks should be sent to a taskmanagement application. Also, for example, the user may specify which ofmultiple computing devices to associate with specific categories ofactionable content. For example, the user may specify that phone numbersshould be sent to a mobile phone computing device, addresses should besent to a computing device of a car that provides navigationalcapabilities, and/or that images should be sent to a media centercomputing device that serves as a user's repository for images.

In some implementations, permissions and/or customizations offunctionality may be provided. For example, the user may set permissionsand/or customize functionality through the browser 110, anotherapplication executing on the computing device 105, and/or an applicationexecuting on the second computing device 130. For example, a pop-upwindow on the computing device 105 may query the user regarding whetherto transmit identified actionable content to the second computing device130. In some implementations, the second computing device 130 may beutilized to query the user regarding whether to display actionablecontent, whether to poll and/or receive actionable content fromcommunication server 125 and/or content submission engine 120, and/orwhether to establish and/or maintain communication with thecommunication server 125 and/or content submission engine 120. In someimplementations, the user may not be prompted each time actionablecontent is available and/or each time actionable content is identified.For example, the user may set preferences when communication with thecommunication server 125 is first established and may not be promptedeach time actionable content is available.

Actionable content recognition engine 115 and/or content submissionengine 120 may be integrated into one or more applications executing oncomputing device 105 and/or second computing device 130. For example, insome implementations the actionable content recognition engine 115and/or the content submission engine 120 may be executed utilizingbrowser 110. In some implementations, one or more of the modules in FIG.1 may be part of a plug-in executing on browser 110. For example, one ormore of the modules in FIG. 1 may be extensions of browser 110 that havebeen installed by the user. Also, for example, one or more modules inFIG. 1 may be integrated as standard features on browser 110. In someimplementations, one or more of the modules of FIG. 1 may be implementedthrough client-side executable scripts, such as JavaScript files thatare embedded in the HTML of a webpage. In some implementations, such asthose wherein the second computing device 130 may additionally and/oralternatively identify actionable content and provide the actionablecontent to the first computing device 105 for use, actionable contentrecognition engine 115 and/or content submission engine 120 may beintegrated into one or more applications executing on second computingdevice 130.

In some implementations, the actionable content recognition engine 115and/or the content submission engine 120 may additionally and/oralternatively be executing remotely, such as on communication server 125and/or one or more additional remote servers. For example, a user mayaccess a document on computing device 105. In some implementations,computing device 105 may send content to the actionable contentrecognition engine 115, which is executing on communication server 125and/or an additional remote server. In some implementations, computingdevice 105 may send an identifier of the document accessed by the userto the actionable content recognition engine 115, which may be executingon communication server 125 and/or on an additional remote server. Theactionable content recognition engine 115 may use the providedidentifier to access the document and/or the communication server 125may use the identifier to access the document and provide the documentand/or content from the document to actionable content recognitionengine 115. The actionable content recognition engine 115 may identifypotentially actionable content in the document, the content submissionengine 120 may determine the confidence level associated withpotentially actionable content, and the communication server 125 mayprovide the second computing device 130 and/or another computing devicewith the actionable content.

Actionable content recognition engine 115 may receive data from thecomputing device 105 and/or the browser 110 to determine whether one ormore documents accessed via computing device 105 contain content thatmay be actionable on the second computing device 130 and/or one or moreadditional computing devices. In some implementations, actionablecontent recognition engine 115 may additionally and/or alternativelyreceive data from the second computing device 130 to determine whetherone or more documents accessed via computing device 130 contain contentthat may be actionable on the computing device 105 and/or one or moreadditional computing devices.

In some implementations, the data may be the contents of a document,metadata associated with the document, search terms provided by the userto arrive at the document, and/or a document identifier. For example,the data for a webpage may be the contents of the webpage, metadataassociated with the webpage, search terms entered by the user to arriveat the webpage, and/or a document identifier of the webpage. In someimplementations, a document identifier may include the URL, a filelocation on a computing device, and/or an address to a record in adatabase. Actionable content recognition engine 115 may identify contentthat is in a recognized format for one or more types of content that isactionable on a computing device such as the second computing device130. For example, the actionable content recognition engine 115 maylocate content in the format of a telephone number, such as“(XXX)XXX-XXXX” or “XXX-XXX-XXXX,” wherein X represents an alphanumericcharacter. Actionable content recognition engine 115 may recognize thestring of alphanumeric characters as a telephone number, which may beactionable on a computing device such as the second computing device 130(e.g., utilizing a phone dialing application). Also, for example, theactionable content recognition engine 115 may recognize an alphanumericstring that contains an “@” and ends in “.com.” The actionable contentrecognition engine 115 may identify the alphanumeric string as an emailaddress, which may be actionable with an email application or otherapplication on a computing device such as second computing device 130.Also, for example, the actionable content recognition engine 115 mayrecognize an e-mail that includes an invitation to a particular event,along with a time of the event and an address associated with the event.The actionable content recognition engine 115 may identify the contentsof the e-mail as an event invitation, which may be actionable with acalendar application on a computing device such as second computingdevice 130 and/or actionable with a navigation application on acomputing device such as second computing device 130.

In some implementations, the actionable content recognition engine 115may identify actionable content based on one or more words and/orphrases present in a document. For example, actionable contentrecognition engine 115 may analyze the content of active webpages and/orother documents and determine that the content contains actionablecontent based on words and/or phrases that appear in the content andappear commonly in other documents with actionable content. In someimplementations, actionable content recognition engine 115 may identifykey words and/or phrases, for example, in the title of a document, inthe identifier of a document, and/or in metadata associated with adocument. Also, for example, the actionable content recognition engine115 may identify words and/or phrases that are likely of importancebased on term frequency inverse document frequency; format; and/or thestyle of any displayed words, such as headings, words in bold,italicized words, and/or underlined words. For example, the actionablecontent recognition engine 115 may determine that content located on awebpage may be contact information based on the presence of “Contact Us”in the title of the webpage. The content recognition engine 115 maydetermine such content will be used by a user on a computing device suchas the second computing device 130 and further search the webpage forpotential actionable content. In some implementations, the actionablecontent recognition engine 115 may identify actionable content based oncomparison of one or more words in a document with an index of wordsthat frequently appear in the same document as actionable content. Forexample, a webpage that contains the words “Contact Us” is likely tohave contact information that is actionable on one or more computingdevices. Also, for example, a document that contains certain actionwords such as “call”, “cancel”, “confirm”, “schedule”, and/or “reserve”may be likely to contain content that is directly actionable on one ormore computing devices and/or that may be utilized to identify contentthat is actionable on one or more computing devices.

In some implementations, the actionable content recognition engine 115may additionally and/or alternatively identify actionable content basedon data embedded in a document. For example, the actionable contentrecognition engine 115 may identify actionable content based on dataembedded in a webpage displayed utilizing the browser 110. For example,an XML tag may be embedded in a webpage and the XML tag may directactionable content recognition engine 115 to specific content of thewebpage. For example, a webpage may identify content using the tag“<contact>” to identify contact information contained between the tags.Also, for example, a webpage may use the tag “<phone number>” toidentify the presence of a phone number between the tags. Additionaland/or alternative tags may be present in the metadata of a webpage orother document and utilized by actionable content recognition engine 115to identify actionable content on the webpage.

In some implementations, actionable content may be identified based oninformation contained within standard HTML tags embedded in a webpage.For example, an anchor HTML tag may contain a description of the contenttype (e.g., “phone_number”), the actionable content (e.g.,“XXX-XXX-XXXX,” where the X's denote a phone number), and/or theapplication to associate with the actionable content in the tags (e.g.,“phone dialer”). In some implementations customized tags may be providedfor use with the actionable content submission engine 120, which informthe actionable content recognition engine 115 of the location ofactionable content.

In some implementations, embedded tags in a webpage or other documentmay contain information regarding potentially actionable content to sendto one or more server-side applications for processing. For example, aweb server may send actionable content that has been tagged on a webpageto content submission engine 120, communications server 125, and/oractionable content recognition engine 115, when the webpage istransmitted to the browser 110 for display to the user. In someimplementations, one or more tags embedded in a webpage may call one ormore client-side scripts to process potentially actionable content. Forexample, an anchor tag in a webpage may contain a function call to aJavaScript function to process actionable content contained within a tagand/or between tags, and/or a JavaScript function embedded in thewebpage may automatically process potentially actionable content whenthe webpage is transmitted to the user. Embedded client-side scripts mayinclude one or more steps of the methods described herein as executed byactionable content recognition engine 115 and/or content submissionengine 120.

In some implementations, actionable content recognition engine 115 mayadditionally and/or alternatively identify actionable content based on adocument identifier such as, for example, a URL. For example, in someimplementations, the actionable content recognition engine 115 maydetermine a document contains actionable content based on one or morewords in a document identifier for that document. For example, thewebpage “http:/www.store.com/contact.html” may likely contain contentrelated to contact information. Actionable content recognition engine115 may recognize the word “contact” and search the active webpage tolocate potentially actionable content. For example, actionable contentrecognition engine 115 may look for content in a format that is likelyto be contact information, such as, for example, a phone number,address, store name, and/or email address. In some implementations, theactionable content recognition engine 115 may use one or more additionalsources in addition to or instead of an active document to determine thepresence of potentially actionable content. For example, the actionablecontent recognition engine 115 may recognize that the webpage that isactive in the browser 110 contains an address and the user has alsoaccessed a mapping webpage or application to search for the address onthe computing device 105, the second computing device 130, and/or othercomputing device. The mapping webpage or application may be accessedeither concurrently with the webpage containing the address or within athreshold time period from accessing the webpage containing the address.The actionable content engine 115 may determine that the active webpageand/or the previously accessed mapping webpage both referenced theaddress and identify the address as actionable content. In someimplementations actionable content engine 115 may be more likely toidentify content that is accessed on multiple webpages, through multipleapplications, and/or through multiple computing devices as actionablecontent. In some implementations, the actionable content recognitionengine 115 may determine actionable content based on one or more linkson a webpage and/or the URLs associated with links on the webpage.

In some implementations, the actionable content recognition engine 115may identify actionable content based on compiled indices or otherdatabases of actionable content that are based on previousidentification by one or more components. For example, the URL of awebpage may be associated with an index containing actionable contentthat has been previously identified on the webpage. Also, for example, adatabase may include a plurality of entities, with one or more of theentities each being be mapped to actionable content associated with theentity. In some implementations, indices or other databases may becompiled based on historical usage by previous users. For example, ifprevious viewers of a webpage may have identified particular content asactionable content and/or utilized a second computing device to accessparticular content of a document while viewing the document, theparticular content may be identified as actionable content. In someimplementations, a crawler may be utilized to identify potentiallyactionable content in documents and index the actionable content withthe documents for later use with the actionable content engine 115.

In some implementations the actionable content recognition engine 115may additionally and/or alternatively identify actionable content in anaccessed document based on one or more search terms used to arrive atthe accessed document. For example, entering the search terms “phonenumber store1” may indicate to the actionable content recognition engine115 that the resulting document will likely contain a phone numberassociated with “store1.” For example, search results identified inresponse to the search may contain the phone number associated with“store1.” In some implementations, the actionable content recognitionengine 115 may identify one or more instances of actionable content in adocument based on the likelihood that the document contains actionablecontent. In some implementations, the actionable content recognitionengine 115 may identify actionable content irrespective of search termsentered by the user and/or the likelihood that the document containsactionable content.

In some implementations, the actionable content recognition engine 115may associate additional information with potentially actionablecontent. For example, a user who enters the search terms “phone numberstore1” may likely be searching for the phone number of Store1. Theactionable content recognition engine 115 may additionally associateStore1 as a characteristic and/or identifier of a phone number that isidentified in the resulting webpage. Also, for example, the actionablecontent recognition engine 115 may identify additional information toassociate with located actionable content based on an index, metadatamarkers, URLs, and/or additional content on the webpage. For example,the actionable content recognition engine 115 may identify contentbetween the XML tags “<store name>” as an identifier of the actionablecontent on the webpage. Also, for example, the actionable contentrecognition engine 115 may determine that the domain name of a websitemay be a likely indication of a characteristic and/or identifier of theactionable content. For example, “store1” may be identified as thesource for actionable content from a website with the domain name“www.store1.com.” Also, for example, the actionable content recognitionengine 115 may identify an entity associated with the actionable contentand associate a property of that entity as an identifier of theactionable content. For example, the most popular alias associated withan entity may be utilized as an identifier of the actionable content.

The actionable content recognition engine 115 may determine potentiallyactionable content based on previous actions of the user to arrive at adocument. In some implementations, the actionable content recognitionengine 115 may identify the path that the user traversed to find anaccessed document. For example, a user may type a URL for a webpage intobrowser 110. Once on the webpage, the user may click on a link entitled“Contact Us” and be taken to a contact page. Actionable contentrecognition engine 115 may recognize that a user is seeking out contactinformation and determine that content on the resulting webpage may beuseful on an additional computing device such as the second computingdevice 130. Actionable content recognition engine 115 may utilize one ormore methods described herein to determine potentially actionablecontent on the resulting webpage. For example, actionable contentrecognition engine 115 may determine that the user is interested incontact information based on the displayed text of a hyperlink (e.g.,“Contact Us”) and/or on a part of the text of the URL (e.g.,http://www.store.com/contact_us.html). In some implementations, theactionable content recognition engine 115 may recognize that the userhas visited the same webpage multiple times and determine that the usermay have interest based on the frequency of visiting the webpage. Insome implementations, the actionable content recognition engine 115 mayutilize a bookmarking function and/or other flagging function to suggestactionable content based on documents that have been bookmarked by theuser. For example, a user may bookmark a specific webpage and theactionable content recognition engine 115 may identify the webpage andsend the URL of the webpage and/or content of the webpage as potentialactionable content. Also, for example, a user may download a specificuser manual and the actionable content recognition engine 115 mayidentify the user manual and send the URL of the user manual and/orcontent of the user manual as potential actionable content. In someimplementations, the actionable content recognition engine 115 mayidentify a document as containing potential actionable content based onthe number of links to the document. For example, a webpage that hasbeen linked to multiple times may be more likely to contain importantcontent and may be more likely to have content that is of interest tothe user.

In some implementations, actionable content recognition engine 115 maydetermine potentially actionable content and/or additional informationbased on information in the text of the link of the referring webpage tothe current webpage. For example, a user may enter “phone numberStoreName” as search terms and be directed to a search results page. TheURL of the search results page may have an indication of the searchterms that were entered to arrive at the search results page. Forexample, the search results page may have a URL such as“www.searchengine.com/search terms=phone number+StoreName.” Actionablecontent recognition engine 115 may examine the URL of the search resultspage that referred the user to a content page to identify potentiallyactionable content and/or additional associated information that may belocated on the resulting page. Actionable content recognition engine 115may also determine what content may be desired by the user based on theuniqueness of content in a displayed webpage and/or document. Forexample, a webpage may display multiple phone numbers, such as a webpagephone directory. Actionable content recognition engine 115 may determinethat the page contains too many phone numbers to determine which, ifany, phone numbers on the page are of interest to the user. Because thepage does not contain a minimal number of phone numbers, the actionablecontent recognition engine 115 may not suggest any of the phone numbers.

In some implementations, the actionable content recognition engine 115may use one or more indications from the user to determine whatactionable content on a page may be of interest to the user. Forexample, a user may show interest in a particular phone number based onthe location of a cursor on the webpage, by zooming in on a particularphone number, by scrolling to a particular phone number, and/or byhighlighting a phone number. Also, for example, a user may show interestin a particular phone number based on past searches, past browsinghistory, and/or other actions of the user. For example, one or more ofthe phone numbers may be associated with a particular entity that hasbeen associated with documents of past searches of the user, aparticular entity that has been associated with queries of past searchesof the user, and/or that has been associated with past documents towhich the user has navigated. Additionally or alternatively, theactionable content recognition engine 115 may associate informationlocated near actionable content as an indication of potentially usefulcontent. For example, a user may use the search terms “phone numberstore1 location1” and be directed to a webpage containing multiplelocations of store1. Actionable content recognition engine 115 maydetermine that the phone number near an indication of location1 may beof interest to the user and identify the corresponding phone number asactionable content. In some implementations, all actionable content froma page containing multiple instances may be provided as actionablecontent to the content submission engine 120.

In some implementations, the actionable content recognition engine 115may identify other data in a document that may be associated withactionable content as a characteristic and/or identifier of theactionable content. For example, the actionable content recognitionengine 115 may identify an entity that is the source of potentiallyactionable content on a webpage and associate an alias of the entity asan identifier of the actionable content. For example, the actionablecontent recognition engine 115 may determine identifiers and/orcharacteristics that are likely of importance based on term frequencyinverse document frequency; the domain name of the URL of a webpage;words and/or phrases in headers and/or footers of the document; thestyle of words and/or phrases; and/or words in the title of a documentand/or webpage. The identifier and/or characteristic may be transmittedwith the actionable content to one or more components and may be used toannotate the actionable content with other content and provide the userwith information about the actionable content.

In some implementations, actionable content recognition engine 115 mayidentify potentially actionable content and/or additional associatedinformation in a document that is actively displayed to a user. Forexample, a web browser may allow multiple webpages to be opened at onetime through the use of tabs and/or through multiple instances of theweb browser executing on the computing device, and actionable contentrecognition engine 115 may be informed by the web browser of the webpagethat is currently being displayed to the user. Actionable contentrecognition engine 115 may identify potentially actionable content fromonly the active document and/or from all open documents, regardless ofwhether the documents are currently displayed to the user. In someimplementations, actionable content recognition engine 115 may determinepotentially actionable content from web pages that are actually visibleto the user on the computing device 105 and/or the second computingdevice 130.

In some implementations actionable content recognition engine 115 mayidentify potentially actionable content and/or additional associatedinformation in a document that is provided to a user based onidentification of one or more entities in the document andidentification of one or more properties associated with the entity. Forexample, actionable content recognition engine 115 may identify an aliasand/or additional information associated with an entity within adocument such as a webpage, a user calendar entry, or a user task entry.The content recognition engine 115 may identify the entity that isassociated with the alias and/or additional information via accessingone or more database such as an entity database. One or more additionalproperties associated with the entity, additional entities associatedwith the entity, and/or one or more additional properties associatedwith associated entities may be utilized as actionable content. Forexample, an alias associated with the entity for “Business 1” may beidentified from a calendar entry for “Contact Business 1 to scheduleappointment” and utilized to identify the entity associated with“Business 1”. Business 1's phone number may be identified based on anentity database and/or other database, and may be utilized as theactionable content.

In some implementations entities are topics of discourse. In someimplementations, entities are persons, places, concepts, and/or thingsthat can be referred to by a text fragment (e.g., a term or phrase) andare distinguishable from one another (e.g., based on context). Forexample, the text “bush” on a webpage may potentially refer to multipleentities such as President George Herbert Walker Bush, President GeorgeWalker Bush, a shrub, and the rock band Bush. In some implementations anentity may be referenced by a unique entity identifier that may be usedto identify the entity. The unique entity identifier may be associatedwith one or more properties associated with the entity and/or with otherentities. For example, in some implementations one or more entitydatabase may include properties associated with unique identifiers ofone or more entities. For example, for each of a plurality of entities,a mapping (e.g., data defining an association) between the entities andone or more properties and/or other entities related with the entity maybe identified in the entity database. For example, a unique identifierfor the entity associated with “Business 1” may be associated with aname or alias property of “Business 1”, another alias property of“Business 1+” (an alternative name by which Business 1 is oftenreferenced), a phone number property of “123-456-7891”, an addressproperty of “1234 example address, example city, example state”, and/oran entity type property of “business” in the entity properties database.Additional and/or alternative properties may be associated with anentity in one or more databases such as an entity database. In thisspecification, the term “database” will be used broadly to refer to anycollection of data. The data of the database does not need to bestructured in any particular way, or structured at all, and it can bestored on storage devices in one or more locations. Thus, for example,the database may include multiple collections of data, each of which maybe organized and accessed differently.

In some implementations actionable content recognition engine 115 mayidentify potentially actionable content based on mappings betweenmultiple entities and/or mappings between entities and one or moreentity properties. The content recognition engine 115 may identify theentities and/or entity properties via accessing one or more databasesuch as an entity database. For example, an entity database may includeone or more knowledge graphs mapping entities and entity propertiesand/or entities and other entities. In some implementations actionablecontent recognition engine 115 may determine likely actionable contentbased on mappings between multiple entities and/or entities and entityproperties, in combination with artificial intelligence havingpredictive capabilities. For example, in some implementations one ormore mappings between two or more entities may define relationshipsbetween the entities that may be utilized to determine actionablecontent. For example, a calendar entry may include the terms “callBusiness 1.” Based on the terms, an entity associated with “Business 1”and an entity associated with the concept of “calling” may beidentified. The two entities may be mapped together via the phone numberthat may be called to reach Business 1. For example, the phone numbermay be mapped to the entity associated Business 1 as a property ofBusiness 1 and mapped to the entity associated with “calling” as afunction that may be performed with the phone number. Based on such amapping, it may be predicted that the phone number is actionable contentfor the text “call Business 1”. In some implementations a likelihoodthat identified actionable content is the correct actionable content maybe determined and optionally utilized in determining a confidence levelassociated with the actionable content.

Also, for example, a calendar entry may include the text “cancel servicewith Business 1” and/or a spoken input by a user may be identified as“cancel service with Business 1”. The terms “cancel service” mayindicate a predicted service cancellation action and the text “Business1” may indicate the service cancellation action is related to an entityassociated with “Business 1”. A service cancellation action may beassociated with certain properties associated with an entity such as,for example, one or more phone numbers that may be called to cancelservice, one or more e-mail addresses that enable cancellation ofservice, and/or one or more webpages that enable cancellation ofservice. A mapping between an entity associated with “Business 1” andproperties of that entity that may indicate one or more phone numbersrelated to that entity that may be called to cancel service, one or moree-mail addresses related to that entity that enable cancellation ofservice, and/or one or more webpages related to that entity that enablecancellation of service may be identified. One or more of the mappedproperties may be identified as actionable content. For example, awebpage that enables cancellation of service and is mapped to the entityassociated with “Business 1” may be identified as actionable content. Insome implementations a likelihood that identified actionable content isthe correct actionable content may be determined and optionally utilizedin determining a confidence level associated with the actionablecontent. Additional and/or alternative methods of identifying actionablecontent based on mappings between multiple entities and/or entities andproperties in combination with artificial intelligence having predictivecapabilities may be utilized.

One or more of the methods described to determine the presence ofactionable content in an accessed document such as a displayed documentand/or webpage of a user may additionally or alternatively be utilizedto determine a confidence level that the actionable content should besubmitted to one or more other computing devices of the user. Forexample, a confidence level that actionable content accessed on firstcomputing device 105 of a user should be submitted to the secondcomputing device 130 of the user and/or other computing devices of theuser may be determined. Also, for example, a confidence level thatactionable content accessed on second computing device 130 of a usershould be submitted to the first computing device 105 of the user and/orother computing devices of the user may be determined. Also, forexample, a confidence level that actionable content accessed on firstcomputing device 105 of a user and second computing device 130 of a usershould be submitted to one or more other computing devices of the usermay be determined.

The first computing device 105 of the user, the second computing device130 of the user, and other computing devices of the user may each beseparate computing devices. For example, each computing device may haveits own network interface subsystem that provides an interface to one ormore networks such as network 101 to enable communication with one ormore other computing devices. Networks may include, for example, theInternet, one or more local area networks (LANs), one or more wide areanetworks (WANs), and/or one or more mobile networks. Any networks mayoptionally utilize one or more standard communications technologies,protocols, and/or inter-process communication techniques. For example,in some implementations the first computing device 105 may be a desktopcomputing device of the user and the second computing device 130 may bea mobile phone of the user. Also, for example, in some implementationsthe first computing device 105 may be a desktop computing device of theuser and the second computing device 130 may be another desktopcomputing device of the user. In some implementations the firstcomputing device 105, the second computing device 130, and/or othercomputing devices of the user may include, for example, a tabletcomputing device, a computing device of a vehicle of the user (e.g., anin-vehicle communications system, an in-vehicle entertainment system, anin-vehicle navigation system), a wearable apparatus of the user thatincludes a computing device (e.g., a watch of the user having acomputing device, glasses of the user having a computing device).Additional and/or alternative computing devices of the user may beprovided. In some implementations each computing device may optionallybe associated with a unique identifier such as a unique IP address, aunique MAC address, etc. In some implementations one or more computingdevices may have one or more identifier in common.

Computing devices may be associated with a user utilizing one or moremethods and/or apparatus. For example, in some implementations a usermay be referenced by a unique entity identifier that may be used toidentify the user. The unique entity identifier of the user may beassociated with one or more entity identifiers for computing devicesassociated with the user. For example, in some implementations one ormore database may include computing devices that are associated withunique identifiers of one or more users. For example, for each of aplurality of users, a mapping (e.g., data defining an association)between the user and one or more computing devices of the user may beprovided. For example, a user may be mapped with one or more desktopcomputing devices the user utilizes, one or more mobile phones the userutilizes, one or more tablets the user utilizes, one or more wearablecomputing devices the user utilizes, and/or one or more in-vehiclecomputing devices the user utilizes. In some implementations one or moreof the computing devices may be mapped to multiple users. For example, adesktop computing device may be mapped to multiple users. In someimplementations data identified via one or more user actions via thecomputing device may be utilized to determine when a particular user isutilizing the computing device. For example, in some implementations aparticular user may “log in” to the computing device, one or moreapplications executing on the computing device, and/or one or moreservices via the computing device utilizing a password, a pass key,biometric identification, and/or other form of user verification toindicate the particular user is utilizing the computing device. Forexample, a user may log in to a social networking service via aparticular computing device and data provided via the social networkingservice may be utilized to determine the user is utilizing theparticular computing device.

Information identified by the actionable content recognition engine 115may optionally be provided to the content submission engine 120 todetermine the confidence level that the identified actionable contentshould be submitted to one or more computing devices associated with theuser. For example, the content submission engine 120 may identify keywords and/or phrases from a document, for example, in the title of thedocument, in the URL of a document, and/or in metadata associated with adocument. Also, for example, the content submission engine 120 mayidentify words and/or phrases that are likely of importance in adocument based on term frequency inverse document frequency; format;and/or the style of the displayed words, such as headings, words inbold, italicized words, and/or underlined words; and determine aconfidence level based on one or more of the identified words and/orphrases. In some implementations, the content submission engine 120 maydetermine the confidence level based on one or more words and/or phrasesprovided by the actionable content recognition engine 115.

Content submission engine 120 may receive actionable content asdetermined by the actionable content recognition engine 115. Contentsubmission engine 120 may determine whether actionable content receivedby the actionable content recognition engine 115 is content that theuser would likely have interest in accessing on one or more computingdevices. If the located actionable content is identified as content thatis likely of interest to the user, the content submission engine 115 mayalert one or more components.

In some implementations, content submission engine 120 may communicatewith a communication server 125, which may also be in communication withone or more computing devices such as the computing device 105 and/orthe second computing device 130. In some implementations, the contentsubmission engine 120 may send identified actionable content to thecommunication server 125. In some implementations, content submissionengine 120 may send a message to the communication server 125 thatactionable content has been identified and is available fortransmitting. In some implementations, content submission engine 120 maywait to be polled by communication server 125 on whether actionablecontent is available and/or the type of content that has beenidentified. In some implementations, the communication server 125 mayoptionally not be present and content submission engine 120 may directlycommunicate with one or more computing devices such as the computingdevice 105 and/or the second computing device 130. Content submissionengine 120 may directly transmit actionable content one or morecomputing devices, send a notification to one or more computing devicesthat actionable content is available for transmission to the one or morecomputing devices if requested, and/or wait to be polled by the one ormore computing device.

Content submission engine 120 may determine a confidence level that theactionable content identified by the actionable content recognitionengine 115 is likely to be content that the user will have interest inaccessing on one or more computing devices such as the computing device105 and/or the second computing device 130. In some implementations, thecontent submission engine 120 may identify the likelihood that theidentified content is desirable to a user using one or more signals. Forexample, in some implementations, the content submission engine 120 mayuse term frequency inverse document frequency, historical usage of adocument by other users, historical usage of a document by the currentuser, prominent formatting of words in a document, search terms used toarrive at a document, and/or one or more signals related to theimportance of potentially actionable content in a document.

For example, the content submission engine 120 may identify that theactionable content is prominently displayed in a document and/orcomprises a significant portion of the content of the document, andassign a confidence level based on such identification. Also, forexample, the content submission engine 120 may identify a use foractionable content that is formatted in bold in a document, such as“Contact Address” and/or “Contact Phone Number.” Content submissionengine 120 may identify “address” and/or “phone number” as uses foractionable content and may assign actionable content located near thebolded text a confidence level that is more likely to satisfy athreshold when the actionable content is used as an address and/or phonenumber. Also, for example, actionable content identified in small printat the bottom of a webpage may be assigned a confidence level that isless likely to satisfy a threshold based on the less prominentformatting of the actionable content.

Content submission engine 120 may additionally and/or alternativelyidentify a use for actionable content based on search terms used toarrive at a document and assign a confidence level based on the use. Forexample, the content submission engine 120 may identify both an addressand a phone number as actionable content on a webpage. Contentsubmission engine 120 may assign the address a confidence level that ismore likely to satisfy a threshold than the confidence level assigned tothe phone number when the user included the word “address” in the searchterms used to arrive at the webpage. In some implementations, contentsubmission engine 120 may only provide an address when “address” is usedas a search term.

In some implementations, the content submission engine 120 may determinea potential use and/or a confidence level based on key words and/orphrases present, for example, in the title of the document, in thedocument identifier (e.g., URL) of a document, and/or in metadataassociated with a document. Also, for example, the content submissionengine 120 may determine a potential use and/or a confidence level basedon words and/or phrases using term frequency inverse document frequency;format; and/or the style of the displayed words, such as headings, wordsin bold, italicized words, and/or underlined words. In someimplementations, the content submission engine 120 may determine apotential use and/or a confidence level based on one or more wordsand/or phrases provided by the actionable content recognition engine115.

In some implementations, content submission engine 120 may additionallyand/or alternatively utilize information from one or more computingdevices to which actionable content may be provided in determining aconfidence level of interest in the actionable content for one or moreof the computing devices. For example, content submission engine 120 mayreceive information from the second computing device 130 about theactions of a user on such computing devices. For example, the contentsubmission engine 120 may receive information directly via thecommunication network 101 and/or through communication server 125.Content submission engine 120 may determine the likelihood that the useris interested in accessing the identified actionable content based onthe user's actions on the second computing device 130. For example, thesecond computing device 130 may transmit information indicative of theapplication currently being accessed on the second computing device 130and transmit that information to the content submission engine 120.Content submission engine 120 may determine the confidence level of auser interest in the actionable content based on the application beingaccessed. For example, the actionable content recognition engine 115 mayidentify a phone number as potential actionable content. Contentsubmission engine 120 may receive an indication from the secondcomputing device 130 that the user is accessing a telephone numberdialer application on the second computing device 130. In someimplementations, because the actionable content is a phone number, thecontent submission engine 120 may determine that the confidence levelsatisfies a threshold confidence level and that the phone numberdisplayed to a user on the browser 110 is content that the user wouldlike to access on the second computing device 130.

In some implementations, content submission engine 120 may additionallyand/or alternatively utilize information about one or more computingdevices to which actionable content may be provided in determining aconfidence level of interest in the actionable content for one or moreof the computing devices. For example, content submission engine 120 mayreceive information about each of multiple computing devices with whicha user is associated. For example, the content submission engine 120 mayreceive information from a database that associates the user withmultiple computing devices directly via the communication network 101and/or through communication server 125. Content submission engine 120may determine the likelihood that the user is interested in accessingthe identified actionable content on a given computing device based oninformation about the computing device. For example, one or morecapabilities of the computing device may be identified and/or one ormore applications accessible on the computing device may be identifiedto determine if certain actionable content may be utilized by thecomputing device. For example, an in-vehicle computing device may havenavigation functionality and it may be determined that actionablecontent associated with an address may be utilized by such a computingdevice. Also, for example, a mobile phone computing device may havephone dialing functionality and a tablet computing device may not havephone dialing functionality and it may be determined that actionablecontent associated with a phone number may be utilized by the mobilephone, but not by the tablet. Also, for example, it may be determined atablet computing device has phone dialing functionality (e.g., it may bedetermined the tablet has a phone dialing application installed) and itmay be determined that actionable content associated with a phone numbermay be utilized by the tablet. Also, for example, a mobile phonecomputing device may have phone dialing functionality and a tabletcomputing device may also have phone dialing functionality and it may bedetermined that actionable content associated with a phone number ismore likely to be utilized by the mobile phone computing device than thetablet computing device.

In some implementations, content submission engine 120 may additionallyand/or alternatively utilize information about historical usage of oneor more computing devices to which actionable content may be provided indetermining a confidence level of interest in the actionable content forone or more of the computing devices. Historical usage may be specificto the user of the computing device and/or based on historical usage ofother users of the computing device and/or similar computing devices.For example, content submission engine 120 may receive information abouthistorical usage of each of multiple computing devices with which a useris associated. For example, the content submission engine 120 mayreceive information from a database that associates one or more userswith computing devices directly via the communication network 101 and/orthrough communication server 125. Content submission engine 120 maydetermine the likelihood that the user is interested in accessing theidentified actionable content on a given computing device based oninformation about historical usage of the computing device. For example,a user's historical usage of a computing device may be identified todetermine if certain actionable content may likely be utilized by thecomputing device. For example, a user's historical usage of anin-vehicle computing device may identify that the user often makes phonecalls utilizing such in-vehicle computing device (optionally incombination with a mobile phone computing device of the user). Based onsuch an identification, actionable content associated with a phonenumber may be identified as likely to be utilized by the in-vehiclecomputing device. Also, for example, a user's historical usage of amobile phone computing device may identify that the user often utilizessuch device to set and manage calendared events. Based on such anidentification it may be determined that actionable content associatedwith an event (e.g., as identified via a social network invitationand/or an e-mail invitation) as likely to be utilized by the mobilephone. Also, for example, a user's historical usage of a mobile phonecomputing device may identify that the user rarely utilizes such deviceto perform operations that consume large amounts of data. Based on suchan identification it may be determined that actionable content thatwould result in large amounts of data being consumed as less likely tobe utilized by the mobile phone. Also, for example, a user's historicalusage of a mobile phone computing device may identify that the useroften utilizes such device to set and manage calendared events, but auser's historical usage of a tablet computing device may identify thatthe user rarely utilizes such device to set and manage calendaredevents. Based on such an identification it may be determined thatactionable content associated with an event as likely to be utilized bythe mobile phone computing device, but not likely to be utilized by thetablet computing device.

Also, for example, historical usage of multiple users of computingdevices similar to a computing device of a user may be identified todetermine if certain actionable content may likely be utilized by thecomputing device. A computing device may be identified as similar toanother computing device based on one or more factors such as, forexample, a computing device type (e.g., mobile phone computing device,in-vehicle computing device, tablet computing device) and/or moregranular similarity measures. For example, particular models and/orcategories of mobile phone computing devices may be identified assimilar (e.g., smart phones having functionalities A, B, and C; smartphones from manufacturer A; smart phones that are utilized by the userwith at least a threshold frequency; and/or smart phones that includeapplications A and B). For example, historical usage of multiple usersof an in-vehicle computing device of a particular car model may identifythat users often makes phone calls utilizing such in-vehicle computingdevice. Based on such an identification, actionable content associatedwith a phone number may be identified as likely to be utilized by thein-vehicle computing device. Also, for example, historical usage of allmobile phone computing devices may identify that users often utilizessuch device to set and manage calendared events. Based on such anidentification it may be determined that actionable content associatedwith an event as likely to be utilized by the mobile phone computingdevice.

In some implementations, content submission engine 120 may additionallyand/or alternatively utilize information about one or more computingdevices from which actionable content is identified in determining aconfidence level of interest in the actionable content. For example,content submission engine 120 may receive information about each ofmultiple computing devices with which a user is associated. For example,the content submission engine 120 may receive information from adatabase that associates the user with multiple computing devicesdirectly via the communication network 101 and/or through communicationserver 125. Content submission engine 120 may determine the likelihoodthat the user is interested in accessing the identified actionablecontent on one or more computing device based on information about oneor more given computing devices from which the actionable content wasidentified. For example, one or more capabilities of the computingdevice may be identified and/or one or more applications accessible onthe computing device may be identified to determine if certainactionable content is likely to be utilized on another computing devicebesides the one or more computing devices from which the actionablecontent was identified. For example, it may be identified that a desktopcomputing device of a user may not have phone dialing capabilities, maynot have a phone dialing application installed, or may only haveminimally utilized phone dialing applications installed. Based on suchidentification it may be determined that actionable content associatedwith a phone number is more likely to be utilized by one or more othercomputing devices of the user than it is to be utilized by the desktopcomputing device. Also, for example, a mobile phone computing device maybe associated with a restrictive data plan. Based on such adetermination it may be determined that actionable content associatedwith consumption of large amounts of data is more likely to be utilizedby one or more other computing devices of the user than it is to beutilized by the mobile phone computing device.

In some implementations, content submission engine 120 may additionallyand/or alternatively utilize information about historical usage of oneor more computing devices from which actionable content is identified indetermining a confidence level of interest in the actionable content.For example, a user's historical usage of a computing device may beidentified to determine if certain actionable content may likely beutilized by other computing devices. For example, a user's historicalusage of desktop computing device may identify that the user often setsand updates calendar entries utilizing such desktop computing device.Based on such an identification, actionable content identified on thedesktop computing device that is associated with an event may beidentified as less likely to be utilized by one or more other computingdevices. Also, for example, a user's historical usage of a mobile phonecomputing device may identify that the user identify that the userrarely sets and updates calendar entries utilizing such mobile phonecomputing device. Based on such an identification it may be determinedthat actionable content associated with an event as likely to beutilized by one or more other computing devices. Historical usage ofmultiple users of computing devices similar to a computing device of auser may additionally and/or alternatively be utilized to determinewhether actionable content should be sent to the communication server125 and/or one or more computing devices of the user.

In some implementations, the content submission engine 120 may adjustthe confidence level to be more likely to satisfy a threshold confidencelevel when associated potentially actionable content is more likely tobe of interest to the user on another computing device. For example, inimplementations where a greater confidence level is more likely tosatisfy a threshold confidence level, the confidence level may beincreased when the content submission engine 120 determines that theassociated actionable content is more likely to be of interest to theuser on the second computing device 130. For example, the actionablecontent recognition engine 115 may identify actionable content with apotential use as an address and usable with a mapping application on thesecond computing device 130. If the user accesses a mapping applicationon the second computing device 130, the content submission engine 120may increase the confidence level associated with the located actionablecontent for the second computing device based on the likelihood that theuser has interest in actionable content that may be utilized by amapping application.

In some implementations, the content submission engine 120 determines aconfidence level based on the period of time between a user accessingactionable content on one or more computing devices and the useraccessing one or more applications on one or more other computingdevices. For example, the content submission engine 120 may determineconfidence level based on the period of time between a user accessingactionable content on the computing device 105 and the user accessingone or more applications on the second computing device 130. Forexample, content submission engine 120 may determine that the confidencelevel of actionable content satisfies a threshold confidence level whenthe time between viewing actionable content on computing device 105 andaccessing the second computing device 130 is within a certain timeinterval. Also, for example, in some implementations, the contentsubmission engine 120 may adjust the confidence level to be more likelyto satisfy a threshold as the time between accessing the secondcomputing device 130 and viewing actionable content on the computingdevice 105 decreases.

In some implementations, the content submission engine 120 may adjustthe confidence level to be more indicative of a likelihood that theactionable content is of interest to the user on one or more computingdevices while the document associated with the actionable content isstill actively being accessed on one or more other computing devices.For example, in some implementations the content submission engine 120may adjust the confidence level to be more indicative of a likelihoodthat the actionable content is of interest to the user when the secondcomputing device 130 is accessed while the actionable content is stillactively displayed on the computing device 105. For example, the usermay access a webpage on browser 110 that displays an address of a retailstore. Actionable content recognition engine 115 may determine that theaddress of the webpage is actionable on the second computing device 130and that the content is likely an address. Content submission engine 120may assign a confidence level to the actionable content that fails tosatisfy a threshold that is required for the content to be provided tothe second computing device 130. After a period of time, the secondcomputing device 130 may transmit an indication to the communicationserver 125 that the user is accessing a mapping application. Contentsubmission engine 120 may receive the indication and adjust theconfidence level based on the time interval between the user accessingthe content on the computing device 105 and accessing the mappingapplication on the second computing device 130. If the new confidencelevel satisfies the threshold, the content submission engine 120 maysend the actionable content and/or a notification that actionablecontent is available, as described herein. In some implementations, theconfidence level may satisfy the threshold confidence level only whenthe content is actively displayed and the mapping application isaccessed concurrently.

Content submission engine 120 may determine one or more potential usesfor actionable content received from the actionable content recognitionengine 115. In some implementations, the potential uses may be receivedfrom the actionable content recognition engine 115. For each potentialuse associated with actionable content, content submission engine 120may associate a different confidence level with each potential use basedon the likelihood that each use for the content is the intended use. Forexample, a user may access content on browser 110 that the actionablecontent recognition engine 115 determines contains an address. Contentsubmission engine 120 may identify that the address may be potentiallyused with a mapping application on the second computing device 130 orother computing device and/or with an address book application on thesecond computing device 130 or other computing device. Contentsubmission engine 120 may determine that the address is likely for aretail store based on other indications associated with the address asdescribed herein, such as a URL, search terms used to arrive at thewebpage, an entity database, and/or metadata of the webpage. In someimplementations, the content submission engine 120 may determine that itis more likely that the user has interest in accessing the address witha mapping application than with an address book application and adjustthe confidence level for the use of the content with a mappingapplication to make it more likely to satisfy a threshold confidencelevel when a user accesses a mapping application than the confidencelevel assigned to the use of the actionable content with an address bookapplication. Also, for example, the actionable content may be determinedto be the address of a personal contact, based on other content near theaddress on the page that is indicative of a personal contact, such as aname, email address, and/or phone number. Content submission engine 120may adjust the confidence level that the address should be used with anaddress book application to make it more likely that the confidencelevel will satisfy a threshold when a user accesses an address bookapplication versus a mapping application.

Also, for example, a user may access content on browser 110 that theactionable content recognition engine 115 determines contains anaddress. Content submission engine 120 may identify that the address maybe potentially used with the second computing device 130 and one othercomputing device. Content submission engine 120 may determine that theaddress is likely for a retail store based on other indicationsassociated with the address as described herein. In someimplementations, the content submission engine 120 may determine that itis more likely that the user has interest in accessing the address witha mapping application of the second computing device 130 than with amapping application of the one other computing device, based onhistorical usage of the second computing device 130 that identifies thesecond computing device 130 as more likely to be utilized to mapaddresses than the one other computing device. Based on such adetermination, the content submission engine 120 may adjust theconfidence level for the use of the content with the second computingdevice 130 to make it more likely to satisfy a threshold confidencelevel when a user accesses the second computing device 130 than when theuser accesses the one other computing device.

In some implementations, content submission engine 120 may identifypotentially actionable content, additional associated information,potential uses for actionable content, and/or the likelihood that theuser has interest in actionable content, based on the document ordocuments that are actively displayed to a user. For example, a webbrowser may allow multiple webpages to be opened at one time through theuse of tabs and/or multiple instances of the browser, and contentsubmission engine 120 may be informed of the webpage that is currentlybeing displayed to the user. Content submission engine 120 may identifypotentially actionable content, additional associated information,potential uses for actionable content, and/or the likelihood that theuser has interest in actionable content, on one or more open webpages onthe computing device 105, on the active webpage or webpages on thecomputing device 105, and/or on the webpage or webpages that are visibleto the user on computing device 105.

In some implementations, the content submission engine 120 may transmitactionable content to one or more components, such as the computingdevice 105, the second computing device 130, other computing devices,and/or the communication server 125, when the confidence levelassociated with the actionable content satisfies a threshold level. Insome implementations, the content submission engine 120 may transmit anidentifier of actionable content. For example, the content submissionengine 120 may identify a URL that links to actionable content andtransmit the URL to one or more components. In some implementations, thecontent submission engine 120 may transform the actionable content andtransmit the content in a different form. For example, the contentsubmission engine 120 may identify an address as actionable content thatis of interest to the user on the second computing device 130 andtransmit the longitude and latitude of the address for use with amapping application on the second computing device 130. Also, forexample, the content submission engine 120 may annotate actionablecontent with one or more identifiers and/or characteristics and transmitthe identifiers and/or characteristics with the actionable content. Forexample, the content submission engine 120 may identify an entityassociated with actionable content based on annotations identified bythe actionable content recognition engine 115 and provide theannotations with the actionable content. Also, for example, the contentsubmission engine 120 may determine the entity based on term frequencyinverse document frequency of the original document, the domain name ofthe URL of the original document, words and/or phrases in headers and/orfooters of the document, the style of words and/or phrases in theoriginal document, and/or words in the title of the original documentand/or webpage. Also, for example, the content submission engine 120 maydetermine the entity based on a mapping of that entity to the document.

Communication server 125 may be in communication with the computingdevice 105, the second computing device 130, and/or the communicationsubmission engine 120 via communication network 101 to determine whenactionable content is available for one or more computing devices and/orwhen a user is accessing one or more computing devices and may beinterested in actionable content. In some implementations, thecommunication server 125 may not be present and the content submissionengine 120 may communicate directly with other computing devices such asthe second computing device 130 via the communications network 101. Insome implementations, the communication server 120 may receiveactionable content, associated confidence levels, and/or one or morepotential uses for actionable content from the content submission engine120. In some implementations, communication server 125 may receive asignal from the content submission engine 120 that actionable content isavailable for retrieval.

Communication server 125 may poll one or more of a plurality of contentsubmission engines 120 and/or receive actionable content from one ormore content submission engines 120 to transmit to the second computingdevice 130. For example, a user may have multiple browsers 110 active oncomputing device 105. Each browser may have a separate instance of acontent submission engine 120 and each may independently send actionablecontent to the communication server 125. In some implementations, thecommunication server 125 may be in communication with multiple othercomputing devices via communication network 101. For example,communication server 125 may be in communication with a mobile phonecomputing device and a tablet computing device. Communication server 125may determine what actionable content, if any, to transmit to the mobilephone computing device and/or tablet computing device based on, forexample, the timing and type of applications accessed on each of thecomputing devices.

Second computing device 130 and/or other computing devices may receiveactionable content from communication server 125 and/or contentsubmission engine 120 via communication network 101. The transmission ofactionable content may be initiated by communication server 125 and/orby the second computing device 130 and/or other computing devices. Insome implementations, actionable content may be sent to the secondcomputing device 130 immediately when received by the communicationserver 125. In some implementations, the communication server 125 and/orthe content submission engine 120 may initially send a notification tothe second computing device 130 that actionable content is available.For example, the content submission engine 120 may determine that anaddress identified by the actionable content recognition engine 115 hasa confidence level that satisfies a threshold for submission to thesecond computing device 130. Communication server 125 may send anotification to the second computing device 130 that the content isavailable, that the content is an address, and/or that the content isassociated with one or more applications on the second computing device130. In some implementations, the second computing device 130 maycontact the communication server 125 and/or the content submissionengine 120 when the user accesses an application on the second computingdevice 130 where actionable content may be utilized. For example, a usermay initiate a mapping application on the second computing device 130.Second computing device 130 may contact communication server 125 todetermine whether actionable content associated with the mappingapplication is available. Also, for example, the second computing device130 may request actionable content that has a potential use that matchesthe application that the user is accessing via the second computingdevice 130. In some implementations, the second computing device 130 maypoll the communication server 125 and/or content submission engine 120periodically and/or continuously to determine whether actionable contentis available for transmission. In some implementations, the secondcomputing device 130 may poll communication server 125 and/or contentsubmission engine 120 only when the user has indicated that actionablematerial may be utilized, such as, for example, when the secondcomputing device 130 is accessed and/or when an application that mayutilize actionable content is accessed. In those implementations, thesecond computing device 130 may poll the communication server 125 and/orthe content submission engine 120 continuously and/or periodically todetermine whether actionable content is available for transmission tothe second computing device 130.

In some implementations, one or more components depicted in FIG. 1 maynot be present and/or one or more additional components may be present.For example, communication server 125 may not be present and/or contentsubmission engine 120 may directly communicate with the second computingdevice 130 via communication network 101. In some implementations,actionable content recognition engine 115, content submission engine120, and/or communication server 125 may be in communication withmultiple computing devices in addition to computing devices 105 and 130and/or multiple applications on computing devices. In someimplementations, one or more components depicted in FIG. 1 may becombined into a single component and/or may be incorporated intocommunication server 125, computing device 105, a plug-in on browser110, and/or on second computing device 130. For example, in someimplementations actionable content recognition engine 115, contentsubmission engine 120, and/or communication server 125 may be combinedinto a single computing device having an architecture that may share oneor more aspects with the computing device architecture as illustrated inFIG. 6.

Referring to FIG. 2, a flow chart illustrating an example method ofidentifying and transmitting actionable content identified from at leastone computing device to at least one second computing device based onthe user accessing the second computing device is provided. Otherimplementations may perform the steps in a different order, omit certainsteps, and/or perform different and/or additional steps than thoseillustrated in FIG. 2. The steps of the method illustrated in FIG. 2 maybe performed by one or more components illustrated in FIG. 1. Theillustrated method identifies an association between at least one secondcomputing device and a computing device and provides actionable contentaccessed on the computing device to the second computing device based ona confidence level associated with the actionable content.

At step 200, a computing device is identified. With reference to FIG. 1,the identified computing device may share one or more characteristicswith the computing device 105 and/or the second computing device 130. Insome implementations, step 200 may be performed by a component sharingone or more characteristics with communication server 125 and/or contentsubmission engine 120. Identification of the computing device may beinitiated by the computing device, by a communication server 125, and/orby another computing device that is accessed by the user.

For example, a user may utilize the second computing device 130 tocontact a communication server 125 via a communication network 101. Theuser may additionally establish communication with the communicationserver 125 utilizing computing device 105. The communication server 125may associate and/or identify an association between the secondcomputing device 130 and the computing device 105 and transmitactionable content received by a content submission engine 120 to thesecond computing device 130. In some implementations, the communicationserver 125 may identify a computing device through user interactionswith the computing device alone. For example, the user may access abrowser 110 on computing device 105 and send a notification to thecommunication server 125 of a unique identifier of the second computingdevice 130 of the user, such as a phone number. The communication server125 may establish contact with the second computing device 130 using theidentifier, such as by sending a text message, an email, and/or anotification via BLUETOOTH and/or Wi-Fi. In some implementations, thecommunication server 125 may identify the second computing device 130through a mapping between the user and the second computing device 130.For example, the user may utilize the same account, such as an emailaccount, on the computing device 105 and the second computing device 130so that the server may associate the user of the second computing device130 as the same user of the computing device 105. Additional and/oralternative mappings between a user and one or more computers associatedwith the user may be utilized such as those discussed herein.

At step 205, content of one or more documents accessed by the user onanother computing device is identified. For example, a user may accesscontent of documents, such as PDFs, emails, and/or webpages on anothercomputing device separate from the computing device identified in step200. In some implementations, the documents may be user-editeddocuments. For example, a user may access one or more documents oncomputing device 105 and/or browser 110 and computing device 105 mayoptionally transmit information indicative of content of the documentsto communication server 125, actionable content recognition engine 115,content submission engine 120, and/or second computing device 130. Forexample, computing device 105 may send the content itself. Also, forexample, a document identifier of the document may be sent, such as aURL and/or a file location.

At step 210, the content identified at step 205 is analyzed to determinewhether the content contains actionable content that may be of interestto the user on the computing device identified at step 200. In someimplementations step 210 may be performed by actionable contentrecognition engine 115 as described herein. Actionable content mayinclude, for example, names, email addresses, street addresses, phonenumbers, and/or dates. Potential uses of the actionable content mayoptionally additionally be associated with the actionable content.Potential uses of the actionable content may be identified, for example,utilizing metadata, document location identifiers, an entity database,links to other webpages, the texts of links to other webpages,information regarding the historical usage of content by the currentuser, and/or historical usage of the content by one or more previoususers. In some implementations, potential uses may be associated withactionable content using one or more considerations described herein.

At step 215, a use of the computing device identified at step 200 isidentified. In some implementations, the nature of the use of thecomputing device may be provided to one or more components. For example,second computing device 130 may alert communication server 125 ofactivity the user is performing on the second computing device 130. Theactivity on second computing device 130 may include unlocking the secondcomputing device 130 for use, one or more applications that are beingaccessed by the user on second computing device 130, and/or one or moreinputs from the user, such as text input into a web browser, the startof a phone number typed into a phone dialing of the second computingdevice 130, and/or an email address typed into an email application. Thesecond computing device 130 may alert communication server 125 of theapplication that is currently being accessed and/or may send anotification that the user is accessing second computing device 130without further information about the application that the user isaccessing.

At step 220, the actionable content identified in step 210 is associatedwith a confidence level based on the likelihood that the user hasinterest in accessing the actionable content on the computing deviceidentified at step 200. Step 220 may be performed by actionable contentrecognition engine 115 and/or content submission engine 120 and theresulting confidence level may be transmitted to communication server125 and/or directly to second computing device 130. A confidence levelmay be based on one or more considerations described herein. Forexample, the confidence level may be based on a determined importance ofthe actionable content in the accessed document, one or more propertiesof the computing device identified at step 200, one or more propertiesof the computing device identified at step 205, one or more propertiesof the accessed document, the time interval between accessing theactionable content on the computing device identified at step 205 andaccessing the computing device identified at step 200, user actions inaccessing the actionable content, and/or the potential uses of theactionable content.

At step 225, the actionable content is provided to the computing deviceidentified at step 200 when the confidence level that the actionablecontent is of likely interest to the user satisfies a threshold. In someimplementations, the content submission engine 120 may provideactionable content to the computing device as described herein. In someimplementations, the threshold level utilized in step 225 may be basedon one or more factors, such as user preferences, the potential uses ofthe actionable content, one or more properties of the computing deviceidentified at step 200, one or more properties of the computing deviceidentified at step 205, the application accessed by the user, predefinedvalues, historical usage by other users, and/or historical usage by thecurrent user. Actionable content may optionally be provided to thecomputing device through communication server 125. In someimplementations, actionable content may be immediately provided to thecomputing device when the confidence level of interest in the actionablecontent exceeds the threshold. In some implementations, communicationserver 125 may send a notification to the computing device thatactionable content is available and wait for a request from thecomputing device to provide the actionable content. In someimplementations, the actionable content is provided to communicationserver 125 (optionally with a determined confidence level), and/or thecomputing device selectively retrieves actionable content as describedherein, for example, in steps 305 and 310.

Referring to FIG. 3, a flow chart illustrating an example method ofretrieving content that has been identified as actionable and ofinterest to a user on a computing device is provided. Otherimplementations may perform the steps in a different order, omit certainsteps, and/or perform different and/or additional steps than thoseillustrated in FIG. 3. In some implementations, one or more steps of theillustrated method may be performed by a device that shares one or morecharacteristics with computing device 105 and/or second computing device130.

At step 300, a user accesses a computing device. The computing devicemay recognize one or more interactions of the user with the computingdevice, such as the user initially accessing the computing device and/oran application on the second computing device. For example, thecomputing device may recognize a user unlocking the computing device asthe initial accessing of the device. Also for example, the computingdevice may recognize a user accessing one or more applications on thecomputing device where actionable content may be utilized, including,for example, a mapping application, a dialing application, a calendarapplication, an email application, and/or an address book applicationvia the computing device.

At step 305, the computing device checks for actionable content. In someimplementations, the computing device may check for actionable contenton a communication server that shares one or more characteristics withcommunication server 125. In some implementations, a communicationserver 125 and/or a content submission engine 120 may send anotification to the computing device that actionable content isavailable. In some implementations, the computing device may contact thecommunication server 125 and/or content submission engine 120 todetermine whether actionable content is available. In someimplementations, step 305 may not be performed, such as when thecomputing device is provided with actionable content automatically bycommunication server 125 and/or content submission engine 120 whendetermined to be of interest to the user.

At step 310, the computing device 130 receives actionable content fromcommunication server 125 and/or content submission engine 120. In someimplementations, the computing device may receive the actionable contentautomatically without providing further information to communicationserver 125. In some implementations, the computing device 130 mayreceive actionable content based on when and/or how the user accessedthe computing device in step 300. For example, the computing device mayrecognize that the user accessed a mapping application. Also, forexample, the computing device may receive actionable content based onthe time interval between the user accessing the computing device andthe actionable content becoming available. The computing device maycheck with communication server 125 for content that is usable with aparticular accessed application and/or particularly with that computingdevice. In some implementations, the computing device may be providedwith a notification from communication server 125 that actionablecontent is available without transmitting the actionable content.Content may be provided to the computing device via communication server125 once the computing device identifies the type of actionable contentthat it would like to receive. In some implementations, a server may notsend a notification to the computing device, but instead may make theactionable content available and the computing device may poll thecommunication server 125 when it is available to receive actionablecontent.

At step 315, the computing device utilizes the actionable content thatit received at step 310. In some implementations, the computing devicemay determine how to utilize the actionable content based on the type ofapplication that the user has accessed. For example, the computingdevice may receive a phone number as actionable content. The computingdevice may provide the phone number to a phone application if the useraccesses the phone application. Additionally or alternatively, thecomputing device may provide the phone number to a contacts applicationif the user accesses a contacts application. In some implementations,the computing device may determine whether to utilize the actionablecontent based on the confidence level associated with the actionablecontent. In some implementations, a confidence level may be providedwith actionable content at step 310. In some implementations, thecomputing device may determine a confidence level and/or modify areceived confidence level.

Referring to FIG. 4, an example graphical user interface displayingactionable content from a webpage is illustrated. The displayedgraphical user interface is a webpage 400 that is accessed by the useron a browser which may share one or more characteristics with browser110 as illustrated in FIG. 1. Webpage 400 includes an address bar 405that displays the URL for the current webpage 400. Search box 410 may beutilized by the user to input search terms to submit to a search enginewhen search button 415 is selected or a search is otherwise initiated.Webpage 400 displays examples of actionable content that include a phonenumber 420 and an address 425. In some implementations, a browser thatshares one or more characteristics with browser 110 of FIG. 1 maydisplay webpage 400 to a user on computing device 105, and componentsthat share one or more characteristics with content recognition engine115 and content submission engine 120 may identify actionable contentand selectively provide the actionable content to a second computingdevice as described herein.

Address bar 405 may be utilized by actionable content recognition engine115 to determine that the webpage 400 may contain actionable content forone or more applications executing on second computing device 130. TheURL illustrated in address bar 405 includes a store name (Store1) andthe type of webpage associated with the URL (contact information).Actionable content recognition engine 115 may determine that webpage 400likely contains actionable content and may subsequently search webpage400 for content that matches common formats for actionable contentand/or is otherwise identifiable as actionable content. In someimplementations, content submission engine 120 may adjust the confidencelevel associated with located actionable content from webpage 400. Forexample, actionable content recognition engine 115 and/or contentsubmission engine 120 may identify “Store1” as the source of the contentof webpage 400 and adjust the confidence level to make it more likelythat the confidence level satisfies the threshold based on the term“Store1” as the domain name of the URL in address bar 405. Actionablecontent recognition engine may identify “Store1” as an identifier and/orcharacteristic to associate with the actionable content on webpage 400,such as phone number 420 and/or address 425, and may provide contentsubmission engine 120 with the associated identifier. Content submissionengine 120 may provide the second computing device with the source“Store1” and/or adjust the confidence levels associated with phonenumber 420 and/or address 425 based on the identifier “Store1.” In someimplementations, the second computing device 130 and/or other computingdevice may be provided the identifier with the actionable content andutilize the identifier with the actionable content or as a substitutefor displaying actionable content as illustrated in FIG. 5B anddescribed herein. In some implementations, content submission engine 120may adjust the confidence level associated with actionable contentidentified on webpage 400 based on the number of times the user hasvisited the page, historical evidence from other users who have utilizedactionable content from the page, and/or other factors to determine thatactionable content should be utilized by the second computing device 130and/or other computing device based on the occurrence of “Contact Us” onwebpage 400.

In some implementations, search terms entered into search box 410 may beutilized by actionable content recognition engine 115 to determine thatwebpage 400 may contain actionable content. For example, based on theentered search terms of search box 410, a user may be directed to searchresults that include webpage 400. Actionable content recognition engine115 may determine that the resulting webpage 400 may contain actionablecontent that the user has interest in utilizing on a second computingdevice 130 and/or other computing device. Using one or more methods suchas those described, actionable content recognition engine 115 may locateactionable content on webpage 400 and/or content submission engine 120may assign the confidence level and/or potential uses for locatedactionable content based on terms entered in search box 410. Forexample, actionable content recognition engine 115 and/or contentsubmission engine 120 may determine that the user is most likely to beinterested in the address 425 on webpage 400 as opposed to the phonenumber 420 because the user entered the search term “address.” Also, forexample, actionable content recognition engine 115 may associate theterm “Store1” with actionable content located on webpage 400 based onthe search term “Store1.”

Phone number 420 and address 425 may be recognized by actionable contentrecognition engine 115 as actionable content based on the format of thecontent. For example, actionable content recognition engine 115 mayrecognize that webpage 400 likely contains contact information based onpreviously described methods and then search webpage 400 for actionablecontent. Actionable content recognition engine 115 may recognize thealphanumeric string “555-555-5555” as a phone number and may providecontent submission engine 120 with the string as potentially usefulcontent. Also for example, actionable content recognition engine mayrecognize one or more terms of address 425 as a likely address andsubmit to content submission engine 120 the content as potentiallyactionable. Content submission engine 120 may assign potential usesand/or confidence levels to phone number 420 and/or address 425. Thepotential uses and/or confidence levels may optionally be utilized todetermine whether the actionable content will be sent to the secondcomputing device 130 and/or other computing device.

Referring to FIGS. 5A and 5B, example graphical user interfaces for acomputing device displaying resulting actions from receiving actionablecontent are illustrated. FIG. 5A illustrates an example of a computingdevice executing a phone dialing application. FIG. 5B illustrates a usernotification of options for using actionable content received by acomputing device. Actionable content utilized by FIG. 5A and FIG. 5B maybe identified on a webpage that shares one or more characteristics withwebpage 400 and may be identified by modules that share one or morecharacteristics with actionable content recognition engine 115 and/orcontent submission engine 120. Actionable content may be transmitted toa computing device that shares one or more characteristics withcomputing device 105 and/or second computing device 130 and may bereceived via a server that shares one or more characteristics withcommunication server 125.

FIG. 5A illustrates a phone dialing application 500A. In someimplementations, phone dialing application 500A may be accessed by auser after unlocking a computing device. Additionally or alternatively,phone dialing application 500A may be activated on the computing devicewhen actionable content is received by the computing device and theactionable content is determined to be of interest to the user. Forexample, the user may access webpage 400. Actionable content recognitionengine 115 may recognize that phone number 420 is actionable content andmay be used by the computing device. Content submission engine 120 maydetermine that the confidence level of user interest in the actionablesatisfies a threshold and may provide phone number 422 to the computingdevice based on one or more methods described herein and phone number420 may be transmitted to the computing device. In some implementations,the user may find that phone dialing application 500A is alreadydisplayed when the user accesses the computing device and phone number420 is already entered in phone number box 505. The user may dial thephone number by pressing OK button 510 and/or may determine that thephone number is not of interest at that time and may cancel the phonedialing application 500A by pressing cancel button 515. In someimplementations, phone dialing application 500A may be populated withphone number 420 and displayed on the next instance that the useraccesses the phone dialing application on the second computing device130.

FIG. 5B illustrates a notification screen 500B that contains anotification 520 informing the user of actionable content that isavailable and queries the user on which applications the user hasinterest in using the actionable content. In the illustratednotification 520, the user is queried on actionable content that isavailable from a webpage that shares one or more characteristics withwebpage 400. In the illustrated example, the notification identifiesthat webpage 400 contains a phone number 420 and an address 425. Becausethe phone number and/or the address may be of interest to the user, acall button 525 and a locate button 530 are presented. Additionally, acancel button 535 is offered for instances where the user is notinterested in any provided content. A user may be directed to a screensimilar to phone dialing application 500A when call button 525 ispressed, and may be directed to a mapping application when locate button530 is pressed. In some implementations, a notification box 520 maydisplay the actionable content. For example, the notification box 520may query the user on whether to dial a particular phone number and/ormay query the user on whether to map a particular address based on theactionable content received by the computing device. In someimplementations, the notification box 520 may inquire whether the userwould like to use actionable content with multiple applications. Forexample, a notification box may ask a user whether to utilize a phonenumber with a phone dialing application, a contact directoryapplication, and/or not to utilize the content at all. In theillustrated implementation, the notification box 520 also displays anidentifier of the phone number and/or address that has been determinedto be actionable content (Store1). Actionable content may be associatedwith an identifier by actionable content recognition engine 115 based onone or more methods as described herein.

FIG. 6 is a block diagram of an example computer system 610. Computersystem 610 typically includes at least one processor 614 whichcommunicates with a number of peripheral devices via bus subsystem 612.These peripheral devices may include a storage subsystem 624, including,for example, a memory subsystem 626 and a file storage subsystem 628,user interface input devices 622, user interface output devices 620, anda network interface subsystem 616. The input and output devices allowuser interaction with computer system 610. Network interface subsystem616 provides an interface to outside networks and is coupled tocorresponding interface devices in other computer systems.

User interface input devices 622 may include a keyboard, pointingdevices such as a mouse, trackball, touchpad, or graphics tablet, ascanner, a touchscreen incorporated into the display, audio inputdevices such as voice recognition systems, microphones, and/or othertypes of input devices. In general, use of the term “input device” isintended to include all possible types of devices and ways to inputinformation into computer system 610 or onto a communication network.

User interface output devices 620 may include a display subsystem, aprinter, a fax machine, or non-visual displays such as audio outputdevices. The display subsystem may include a cathode ray tube (CRT), aflat-panel device such as a liquid crystal display (LCD), a projectiondevice, or some other mechanism for creating a visible image. Thedisplay subsystem may also provide non-visual display such as via audiooutput devices. In general, use of the term “output device” is intendedto include all possible types of devices and ways to output informationfrom computer system 610 to the user or to another machine or computersystem.

Storage subsystem 624 stores programming and data constructs thatprovide the functionality of some or all of the modules describedherein. For example, the storage subsystem 624 may include the logic toidentify and/or transmit actionable content from a computing device toone or more other computing devices based on the likelihood of a userhaving interest in accessing the actionable content from the othercomputing devices.

These software modules are generally executed by processor 614 alone orin combination with other processors. Memory 626 used in the storagesubsystem can include a number of memories including a main randomaccess memory (RAM) 630 for storage of instructions and data duringprogram execution and a read only memory (ROM) 632 in which fixedinstructions are stored. A file storage subsystem 628 can providepersistent storage for program and data files, and may include a harddisk drive, a floppy disk drive along with associated removable media, aCD-ROM drive, an optical drive, or removable media cartridges. Themodules implementing the functionality of certain implementations may bestored by file storage subsystem 628 in the storage subsystem 624, or inother machines accessible by the processor(s) 614.

Bus subsystem 612 provides a mechanism for letting the variouscomponents and subsystems of computer system 610 communicate with eachother as intended. Although bus subsystem 612 is shown schematically asa single bus, alternative implementations of the bus subsystem may usemultiple busses.

Computer system 610 can be of varying types including a workstation,server, computing cluster, blade server, server farm, or any other dataprocessing system or computing device. Due to the ever-changing natureof computing devices and networks, the description of computer system610 depicted in FIG. 6 is intended only as a specific example forpurposes of illustrating some implementations. Many other configurationsof computer system 610 are possible having more or fewer components thanthe computer system depicted in FIG. 6.

While several inventive implementations have been described andillustrated herein, a variety of other means and/or structures forperforming the function and/or obtaining the results and/or one or moreof the advantages described herein may be utilized, and each of suchvariations and/or modifications is deemed to be within the scope of theinventive implementations described herein. More generally, allparameters, dimensions, materials, and configurations described hereinare meant to be exemplary and that the actual parameters, dimensions,materials, and/or configurations will depend upon the specificapplication or applications for which the inventive teachings is/areused. Those skilled in the art will recognize, or be able to ascertainusing no more than routine experimentation, many equivalents to thespecific inventive implementations described herein. It is, therefore,to be understood that the foregoing implementations are presented by wayof example only and that, within the scope of the appended claims andequivalents thereto, inventive implementations may be practicedotherwise than as specifically described and claimed. Inventiveimplementations of the present disclosure are directed to eachindividual feature, system, article, material, kit, and/or methoddescribed herein. In addition, any combination of two or more suchfeatures, systems, articles, materials, kits, and/or methods, if suchfeatures, systems, articles, materials, kits, and/or methods are notmutually inconsistent, is included within the inventive scope of thepresent disclosure.

All definitions, as defined and used herein, should be understood tocontrol over vocabulary definitions, definitions in documentsincorporated by reference, and/or ordinary meanings of the definedterms.

The indefinite articles “a” and “an,” as used herein in thespecification and in the claims, unless clearly indicated to thecontrary, should be understood to mean “at least one.”

The phrase “and/or,” as used herein in the specification and in theclaims, should be understood to mean “either or both” of the elements soconjoined, i.e., elements that are conjunctively present in some casesand disjunctively present in other cases. Multiple elements listed with“and/or” should be construed in the same fashion, i.e., “one or more” ofthe elements so conjoined. Other elements may optionally be presentother than the elements specifically identified by the “and/or” clause,whether related or unrelated to those elements specifically identified.Thus, as a non-limiting example, a reference to “A and/or B”, when usedin conjunction with open-ended language such as “comprising” can refer,in one implementation, to A only (optionally including elements otherthan B); in another implementation, to B only (optionally includingelements other than A); in yet another implementation, to both A and B(optionally including other elements); etc.

As used herein in the specification and in the claims, “or” should beunderstood to have the same meaning as “and/or” as defined above. Forexample, when separating items in a list, “or” or “and/or” shall beinterpreted as being inclusive, i.e., the inclusion of at least one, butalso including more than one, of a number or list of elements, and,optionally, additional unlisted items. Only terms clearly indicated tothe contrary, such as “only one of” or “exactly one of,” or, when usedin the claims, “consisting of,” will refer to the inclusion of exactlyone element of a number or list of elements. In general, the term “or”as used herein shall only be interpreted as indicating exclusivealternatives (i.e. “one or the other but not both”) when preceded byterms of exclusivity, such as “either,” “one of,” “only one of,” or“exactly one of.” “Consisting essentially of,” when used in the claims,shall have its ordinary meaning as used in the field of patent law.

As used herein in the specification and in the claims, the phrase “atleast one,” in reference to a list of one or more elements, should beunderstood to mean at least one element selected from any one or more ofthe elements in the list of elements, but not necessarily including atleast one of each and every element specifically listed within the listof elements and not excluding any combinations of elements in the listof elements. This definition also allows that elements may optionally bepresent other than the elements specifically identified within the listof elements to which the phrase “at least one” refers, whether relatedor unrelated to those elements specifically identified. Thus, as anon-limiting example, “at least one of A and B” (or, equivalently, “atleast one of A or B,” or, equivalently “at least one of A and/or B”) canrefer, in one implementation, to at least one, optionally including morethan one, A, with no B present (and optionally including elements otherthan B); in another implementation, to at least one, optionallyincluding more than one, B, with no A present (and optionally includingelements other than A); in yet another implementation, to at least one,optionally including more than one, A, and at least one, optionallyincluding more than one, B (and optionally including other elements);etc.

It should also be understood that, unless clearly indicated to thecontrary, in any methods claimed herein that include more than one stepor act, the order of the steps or acts of the method is not necessarilylimited to the order in which the steps or acts of the method arerecited.

In the claims, as well as in the specification above, all transitionalphrases such as “comprising,” “including,” “carrying,” “having,”“containing,” “involving,” “holding,” “composed of,” and the like are tobe understood to be open-ended, i.e., to mean including but not limitedto. Only the transitional phrases “consisting of” and “consistingessentially of” shall be closed or semi-closed transitional phrases,respectively, as set forth in the United States Patent Office Manual ofPatent Examining Procedures, Section 2111.03.

What is claimed is:
 1. A computer implemented method, comprising:identifying a computing device of a user, the computing deviceconfigured to execute one or more applications; identifying contentaccessed on at least one other computing device by the user, the othercomputing device being separate from the computing device; determiningactionable content based on the content accessed on the other computingdevice by the user, wherein the actionable content is useable by one ormore applications on the computing device; identifying a use of thecomputing device by the user; determining a confidence level of interestin the actionable content, the confidence level based on an indicationof time passage between the user accessing the content on the othercomputing device and the identified use of the computing device by theuser; and providing the actionable content to the computing device ifthe confidence level of interest in the actionable content satisfies athreshold.
 2. The method of claim 1, wherein the identified use isindicative of executing a given application of the one or moreapplications.
 3. The method of claim 2, further comprising determiningat least one potential use for the actionable content.
 4. The method ofclaim 3, further comprising comparing the identified use and thepotential use, wherein the confidence level is based on the comparison.5. The method of claim 4, wherein the actionable content is provided tothe user only when the at least one potential use includes theidentified use.
 6. The method of claim 1, further comprising:identifying at least one potential use for the actionable content;identifying a likely type of use of the computing device; and comparingthe likely type of use to the potential use; wherein the confidencelevel is based on the comparison.
 7. The method of claim 1, furthercomprising determining whether the actionable content is activelydisplayed on the other computing device, wherein the confidence level isbased on whether the actionable content is actively displayed on thecomputing device.
 8. The method of claim 7, wherein the confidence levelsatisfies the threshold when the actionable content is activelydisplayed on the computing device.
 9. The method of claim 1, furthercomprising determining at least one potential use for the actionablecontent based on one or more actions taken by the user to arrive at theidentified content.
 10. The method of claim 9, wherein the one or moreactions include utilizing a given search term in accessing theidentified content.
 11. The method of claim 9, wherein the one or moreactions include utilizing a given navigation link in accessing theidentified content.
 12. The method of claim 1, further comprisingdetermining the confidence level based on one or more actions taken bythe user to arrive at the identified content.
 13. The method of claim12, wherein the one or more actions include utilizing a given searchterm in accessing the identified content.
 14. The method of claim 12,wherein the one or more actions include utilizing a given navigationlink in accessing the identified content.
 15. The method of claim 1,further comprising identifying a likely use type of the computing deviceand comparing the likely use type to the actionable content, wherein theconfidence level is based on the comparison.
 16. The method of claim 1,further comprising identifying a likelihood of utilizing the actionablecontent on the other computing device, wherein the confidence level isbased on the likelihood of utilizing the actionable content on the othercomputing device.
 17. A system including memory and one or moreprocessors operable to execute instructions, stored in the memory,including instructions to perform the operations of: identifying acomputing device of a user, the computing device configured to executeone or more applications; identifying content accessed on at least oneother computing device by the user, the other computing device beingseparate from the computing device; determining actionable content basedon the content accessed on the other computing device by the user,wherein the actionable content is useable by one or more applications onthe computing device; identifying a use of the computing device by theuser; determining a confidence level of interest in the actionablecontent, the confidence level based on an indication of time passagebetween the user accessing the content on the other computing device andthe identified use of the computing device by the user; and providingthe actionable content to the computing device if the confidence levelof interest in the actionable content satisfies a threshold.
 18. Thesystem of claim 17, wherein the identified use is indicative ofexecuting a given application of the one or more applications.
 19. Thesystem of claim 18, wherein the instructions further includeinstructions to perform the operation of determining at least onepotential use for the actionable content.
 20. The system of claim 19,wherein the instructions further include instructions to perform theoperation comparing the identified use and the potential use, whereinthe confidence level is based on the comparison.
 21. The system of claim20, wherein the actionable content is provided to the user only when theat least one potential use includes the identified use.
 22. The systemof claim 20, wherein the instructions further include instructions toperform the operations of: identifying at least one potential use forthe actionable content; identifying a likely type of use of thecomputing device; and comparing the likely type of use to the potentialuse; wherein the confidence level is based on the comparison.
 23. Thesystem of claim 17, wherein the instructions further includeinstructions to perform the operation of determining whether theactionable content is actively displayed on the other computing device,wherein the confidence level is based on whether the actionable contentis actively displayed on the computing device.
 24. The system of claim17, wherein the instructions further include instructions to perform theoperation of determining at least one potential use for the actionablecontent based on one or more actions taken by the user to arrive at theidentified content.
 25. The system of claim 17, wherein the instructionsfurther include instructions to perform the operation of determining theconfidence level based on one or more actions taken by the user toarrive at the identified content.
 26. The system of claim 17, whereinthe instructions further include instructions to perform the operationsof identifying a likely use type of the computing device and comparingthe likely use type to the actionable content, wherein the confidencelevel is based on the comparison.
 27. The system of claim 17, whereinthe instructions further include instructions to perform the operationof identifying a likelihood of utilizing the actionable content on theother computing device, wherein the confidence level is based on thelikelihood of utilizing the actionable content on the other computingdevice.
 28. A non-transitory computer readable storage medium storingcomputing device instructions executable by a processor to perform amethod comprising: identifying a computing device of a user, thecomputing device configured to execute one or more applications;identifying content accessed on at least one other computing device bythe user, the other computing device being separate from the computingdevice; determining actionable content based on the content accessed onthe other computing device by the user, wherein the actionable contentis useable by one or more applications on the computing device;identifying a use of the computing device by the user; determining aconfidence level of interest in the actionable content, the confidencelevel based on an indication of time passage between the user accessingthe content on the other computing device and the identified use of thecomputing device by the user; and providing the actionable content tothe computing device if the confidence level of interest in theactionable content satisfies a threshold.